package com.gagakuai.transport.channel;


import java.net.SocketAddress;

/*
 * @description: 数据出站时调用程序
 * @author: houhong
 * @create: 2024-03-29 22:21
 */
public interface ChannelOutboundInvoker {


    /*
     * 请求绑定到给定的{@link SocketAddress}并在操作完成后通知{@link ChannelFuture}
     * 完成，要么是因为操作成功，要么是因为发生错误。
     * <p>
     * 这将导致
     * {@link ChannelOutboundHandler#bind(ChannelHandlerContext, SocketAddress, ChannelPromise)} 方法
     * 调用包含在 {@link ChannelPipeline} 中的下一个 {@link ChannelOutboundHandler}
     * {@link 频道}。
     */
    ChannelFuture bind(SocketAddress socketAddress);


    /*
    *
    *
    *
    *
    */
    ChannelFuture bind(SocketAddress localAddress, ChannelPromise promise);

    ChannelFuture connect(SocketAddress remoteAddress);



}
